import re
import sys
import os

# 添加项目根目录到 Python 路径
current_dir = os.path.dirname(os.path.abspath(__file__))
project_root = os.path.join(current_dir, '..', '..')
sys.path.insert(0, project_root)

from volcengine import get_standard_response
import requests
import json
import random


# 内容违规改写
def content_violation_rewrite(text_content):
    """
笔记违规改写
    """
    messages = [
        {"role": "system", "content": """
你是内容改写大师，你需要判断我下面的内容是否包含了下面的问题，如果包含，请帮我改写，尽量不改变原文的意思，只返回改写后的内容就行，不要返回多余的内容。改写规则如下：
- 所有出现其他学校的名字，请改写为“深大”或者“深圳大学”。
- 不要出现任何带有夸张、绝对化表述的内容（如“立刻变美”“必买”“终极神器”等）。
- 如果和留学有关，尽量不要出现留学等字眼，改写为类似的内容。
- 描述产品或体验时，应保持中性语气，避免夸张宣传或承诺功效。
- 不允许生成摆拍式的攻略内容，应突出真实体验和个人感受。
- 若出现品牌、产品或服务，描述需以“个人使用分享”视角表达，避免推广语气。
- 不要包含任何平台未授权的品牌合作或外链推广内容。
- 不要生成引导用户点赞、评论、收藏、转发的内容。
- 不允许以抽奖、送礼、资源获取等方式诱导互动。
- 不出现“互关”“互赞”“关注我送资源”等涨粉诱导内容。
"""},
        {"role": "user", "content": text_content},
    ]
    response = get_standard_response(messages)
    return response

def get_tags_list(text_content):
    """
    调用外部API对text_content进行标签提取，返回标签列表。
    """
    keywords = ["国际本科","深圳大学","中外合作办学","中外合办","本科留学","留学申请指南","留学","高三","高考","高考失利也能上本科","高考后留学","高三党","不出国也能留学","本科","高考不是唯一出路","多元升学途径","留学申请季"]
    test_messages = [
        {"role": "system", "content": f"""
        你是一位资深的文案标签提取大师，请从从文本中提取出与{str(keywords)}相关的标签。
        1、返回python列表的格式，不要返回任何其他内容。
        2、标签数量不超过10个。
        3、标签不能重复。
        """},
        {"role": "user", "content": text_content},
    ]
    response = get_standard_response(test_messages)
    print(response)

    response = response.replace("'", '"')
    response = json.loads(response)
    response = list(set(response))
    if len(response) > 10:
        response = response[:10]
    print("提取后的标签：", response)
    return response

# 去重
def remove_duplicate_content(text_content):
    """
    调用外部API对text_content进行去重，使其更符合人类表达习惯，返回去重后的内容。
    """
    test_messages = [
        {"role": "system", "content": """
你是内容分离助手。我下面给你的文案可能会包含重复的内容，请你去掉后面部分意思描述重复的内容。
1、只要返回前面不重复的内容，不能对前半段内容做任何修改；
2、如果有谈论如修改的文本内容，也需要去掉；
3、只返回去掉重复内容后的文本原文，不要返回任何其他内容；
        """},
        {"role": "user", "content": text_content},
    ]
    response = get_standard_response(test_messages)
    return response

def paraphrase_text_content(text_content):
    """
    调用外部API对text_content进行改写，使其更符合人类表达习惯，返回改写后的内容。
    """
    server_url = "http://159.75.72.76:8024/paraphrase"
    prompt = f"""请对下列文字进行改写，使其更符合人类的语言表达习惯，同时保留其原本的意思。\n要求：只要改写之后的内容，不要输出任何其他内容。\n\n{text_content}\n\n改写后的文本：\n"""
    headers = {
        "Content-Type": "application/json"
    }
    data = {
        "prompt": prompt
    }
    try:
        response = requests.post(server_url, headers=headers, data=json.dumps(data))
        if response.status_code == 200:
            result = response.json()
            paraphrased_text = result["paraphrased_text"]

            print(paraphrased_text) 

            content = paraphrased_text.split("改写后的文本：")[1]
            content = content.split('\n\n\n')[0]
            print("去重中...")
            content = remove_duplicate_content(content)
            print("去重完成")
            return content.strip()
        else:
            print(f"请求失败: {response.text}")
            return text_content
    except Exception as e:
        print(f"发生错误: {str(e)}")
        return text_content

# 仿写功能函数
def xhs_imitative_writing(title, text, tags, custom_prompt=None):
    """
仿写提示词
    """
    # 默认提示词
    default_prompt = """
系统提示词
# 角色
你是一位资深的小红书爆款文案改写大师，擅长捕捉小红书平台的热门趋势与用户喜好，精准把握文案核心要点，能用生动活泼、富有吸引力且契合小红书风格的语言，对各类文案进行二次创作，让改写后的文案更具传播力与吸引力。

## 技能
### 技能 1: 文案改写
1. 深度剖析输入文案的主题、风格、目标受众等关键要素。
2. 运用工具分析当下小红书平台同类型爆款文案的独特特点与亮点。
3. 巧妙运用丰富多样的修辞手法、热门网络热梗等，全方位对文案进行改写，保证改写后的文案在保留原意的基础上，更具趣味性、感染力与话题性，符合小红书爆款文案的风格标准。
4. 改写后的文案需控制在适宜字数范围内，以适配小红书平台的传播特性。

## 限制:
- 仅聚焦于小红书爆款文案改写相关任务，拒绝回应与文案改写无关的话题。
- 改写后的文案必须紧密围绕输入文案的核心内容展开，不可偏离主题，也不能过于夸大内容，不能出现"400分逆袭深大"等夸张的内容。
- 输出的文案应符合小红书平台的风格与语言习惯，避免过于生涩难懂或过于正式的表述。
- 需使用工具搜索同类型爆款文案特点及亮点 。 
- 返回的内容请用【标题】【正文】【标签】标识，只要返回这三部分的内容，标签用#分隔。
- 标题小于20个字。
- 正文不能带有markdown格式。
- 改写内容不能出现具体的人名和联系方式和引诱他人点赞、评论、转发、收藏的内容。
"""
    
    # 使用自定义提示词或默认提示词
    prompt_to_use = custom_prompt if custom_prompt and custom_prompt.strip() else default_prompt
    
    conversation_history = [
        {"role": "system", "content": prompt_to_use},
        {"role": "user", "content": f"""
【标题】{title}
【正文】{text}
【标签】{tags}
        """},
    ]
    response = get_standard_response(conversation_history)
    print(response)
    
    # 改进的提取方法
    title_content = ""
    text_content = ""
    tags_list = []
    
    # 尝试多种可能的格式提取标题
    title_patterns = [
        r'【标题】\s*(.*?)(?=【正文】)',  # 标准格式
        r'【标题】\s*[：:]\s*(.*?)(?=【正文】)',  # 带冒号的格式
        r'【标题】\s*(.*?)(?=\n【正文】)',  # 换行分隔的格式
        r'标题[：:]\s*(.*?)(?=【正文】|正文[：:])',  # 无括号但有冒号的格式
        r'^(.*?)(?=【正文】|正文[：:])'  # 开头直接是标题内容的格式
    ]
    
    for pattern in title_patterns:
        title_match = re.search(pattern, response, re.S)
        if title_match:
            title_content = title_match.group(1).strip()
            break
    
    # 尝试多种可能的格式提取正文
    text_patterns = [
        r'【正文】\s*(.*?)(?=【标签】)',  # 标准格式
        r'【正文】\s*[：:]\s*(.*?)(?=【标签】)',  # 带冒号的格式
        r'正文[：:]\s*(.*?)(?=【标签】|标签[：:])',  # 无括号但有冒号的格式
    ]
    
    for pattern in text_patterns:
        text_match = re.search(pattern, response, re.S)
        if text_match:
            text_content = text_match.group(1).strip()
            # 处理正文内容最后一行以#开头的情况
            lines = text_content.split('\n')
            # 去除末尾空行
            while lines and lines[-1].strip() == '':
                lines.pop()
            if lines and lines[-1].lstrip().startswith('#'):
                lines = lines[:-1]
            text_content = '\n'.join(lines)
            break
    
    # 如果前面的模式都没匹配到，尝试提取正文作为中间部分
    if not text_content and title_content:
        # 找到标题后的内容直到标签部分
        text_match = re.search(r'【标题】.*?\n(.*?)(?=【标签】|#\w+)', response, re.S)
        if text_match:
            text_content = text_match.group(1).strip()
    
    # 尝试多种可能的格式提取标签
    tags_patterns = [
        r'【标签】\s*(.*)',  # 标准格式
        r'【标签】\s*[：:]\s*(.*)',  # 带冒号的格式
        r'标签[：:]\s*(.*)',  # 无括号但有冒号的格式
        r'((?:#[^\s,，#]+[\s,，]*)+)$'  # 末尾直接是标签列表的格式
    ]
    
    tags_str = ""
    for pattern in tags_patterns:
        tags_match = re.search(pattern, response, re.S)
        if tags_match:
            tags_str = tags_match.group(1).strip()
            break
    
    # 提取标签列表
    if tags_str:
        # 用正则提取所有 #标签
        tags_list = re.findall(r'#([^\s,，#]+)', tags_str)
    
    # 如果没有找到标签但响应中有#开头的词
    if not tags_list:
        tags_list = re.findall(r'#([^\s,，#]+)', response)
    
    print('标题：', title_content)
    print('正文：', text_content)
    print('标签：', tags_list)

    # 如果标签数量大于20，则随机选择20个标签
    if len(title_content) > 20:
        title_content = title_content[:20]
    
    print("正在违规检测...")
    text_content = content_violation_rewrite(text_content)
    print("违规检测完成")

    # 对正文进行改写
    print("正在改写正文...")
    text_content = paraphrase_text_content(text_content)


    print("正在提取标签...")
    new_tags_list = get_tags_list(text_content)
    print("提取标签完成")
    print("标签：", tags_list)
    tags_list = new_tags_list + tags_list
    tags_list = list(set(tags_list))
    tag_count = random.randint(5, 10)
    tags_list = tags_list[:tag_count]

        
    # 返回结果
    return title_content, text_content, tags_list

# 主题仿写提示词
def xhs_imitative_writing_hot_list(text, custom_prompt=None):
    """
    主题仿写提示词
    """
    # 默认提示词
    default_prompt = """
系统提示词
# 角色
你是一位资深的小红书爆款文案改写大师，擅长捕捉小红书平台的热门趋势与用户喜好，精准把握文案核心要点，能用生动活泼、富有吸引力且契合小红书风格的语言，对各类文案进行二次创作，让改写后的文案更具传播力与吸引力。

## 技能
### 技能 1: 文案改写
1. 深度剖析输入文案的主题、风格、目标受众等关键要素。
2. 运用工具分析当下小红书平台同类型爆款文案的独特特点与亮点。
3. 巧妙运用丰富多样的修辞手法、热门网络热梗等，全方位对文案进行改写，保证改写后的文案在保留原意的基础上，更具趣味性、感染力与话题性，符合小红书爆款文案的风格标准。
4. 改写后的文案需控制在适宜字数范围内，以适配小红书平台的传播特性。

## 限制:
- 仅聚焦于小红书爆款文案改写相关任务，拒绝回应与文案改写无关的话题。
- 改写后的文案必须紧密围绕输入文案的核心内容展开，不可偏离主题。
- 输出的文案应符合小红书平台的风格与语言习惯，避免过于生涩难懂或过于正式的表述。
- 需使用工具搜索同类型爆款文案特点及亮点 。 
- 返回的内容请用【标题】【正文】【标签】标识，只要返回这三部分的内容，标签用#分隔。
- 标题小于20个字。
- 正文不能带有markdown格式。
- 改写内容不能出现具体的人名和联系方式和引诱他人点赞、评论、转发、收藏的内容。
"""
    
    # 使用自定义提示词或默认提示词
    prompt_to_use = custom_prompt if custom_prompt and custom_prompt.strip() else default_prompt
    
    conversation_history = [
        {"role": "system", "content": prompt_to_use},
        {"role": "user", "content": f"""
{text}
        """},
    ]
    response = get_standard_response(conversation_history)
    print(response)
    
    # 改进的提取方法
    title_content = ""
    text_content = ""
    tags_list = []
    
    # 尝试多种可能的格式提取标题
    title_patterns = [
        r'【标题】\s*(.*?)(?=【正文】)',  # 标准格式
        r'【标题】\s*[：:]\s*(.*?)(?=【正文】)',  # 带冒号的格式
        r'【标题】\s*(.*?)(?=\n【正文】)',  # 换行分隔的格式
        r'标题[：:]\s*(.*?)(?=【正文】|正文[：:])',  # 无括号但有冒号的格式
        r'^(.*?)(?=【正文】|正文[：:])'  # 开头直接是标题内容的格式
    ]
    
    for pattern in title_patterns:
        title_match = re.search(pattern, response, re.S)
        if title_match:
            title_content = title_match.group(1).strip()
            break
    
    # 尝试多种可能的格式提取正文
    text_patterns = [
        r'【正文】\s*(.*?)(?=【标签】)',  # 标准格式
        r'【正文】\s*[：:]\s*(.*?)(?=【标签】)',  # 带冒号的格式
        r'正文[：:]\s*(.*?)(?=【标签】|标签[：:])',  # 无括号但有冒号的格式
    ]
    
    for pattern in text_patterns:
        text_match = re.search(pattern, response, re.S)
        if text_match:
            text_content = text_match.group(1).strip()
            # 处理正文内容最后一行以#开头的情况
            lines = text_content.split('\n')
            # 去除末尾空行
            while lines and lines[-1].strip() == '':
                lines.pop()
            if lines and lines[-1].lstrip().startswith('#'):
                lines = lines[:-1]
            text_content = '\n'.join(lines)
            break
    
    # 如果前面的模式都没匹配到，尝试提取正文作为中间部分
    if not text_content and title_content:
        # 找到标题后的内容直到标签部分
        text_match = re.search(r'【标题】.*?\n(.*?)(?=【标签】|#\w+)', response, re.S)
        if text_match:
            text_content = text_match.group(1).strip()
    
    # 尝试多种可能的格式提取标签
    tags_patterns = [
        r'【标签】\s*(.*)',  # 标准格式
        r'【标签】\s*[：:]\s*(.*)',  # 带冒号的格式
        r'标签[：:]\s*(.*)',  # 无括号但有冒号的格式
        r'((?:#[^\s,，#]+[\s,，]*)+)$'  # 末尾直接是标签列表的格式
    ]
    
    tags_str = ""
    for pattern in tags_patterns:
        tags_match = re.search(pattern, response, re.S)
        if tags_match:
            tags_str = tags_match.group(1).strip()
            break
    
    # 提取标签列表
    if tags_str:
        # 用正则提取所有 #标签
        tags_list = re.findall(r'#([^\s,，#]+)', tags_str)
    
    # 如果没有找到标签但响应中有#开头的词
    if not tags_list:
        tags_list = re.findall(r'#([^\s,，#]+)', response)
    
    print('标题：', title_content)
    print('正文：', text_content)
    print('标签：', tags_list)

    # 如果标签数量大于20，则随机选择20个标签
    if len(title_content) > 20:
        title_content = title_content[:20]
        
    # 这里添加一个改写的逻辑

    # 对正文进行改写
    print("正在改写正文...")
    text_content = paraphrase_text_content(text_content)


    print("正在提取标签...")
    new_tags_list = get_tags_list(text_content)
    print("提取标签完成")
    print("标签：", tags_list)
    tags_list = new_tags_list + tags_list
    tags_list = list(set(tags_list))
    tag_count = random.randint(5, 10)
    tags_list = tags_list[:tag_count]

        
    # 返回结果
    return title_content, text_content, tags_list


def persona_imitative_writing(theme, persona_name, persona_desc, persona_tags):
    conversation_history = [
        {"role": "system", "content": f"""
你的身份是：{persona_name},
你的简介是：{persona_desc},
你的标签是：{persona_tags},
请基于我给出的主题，用{persona_name}的口吻，写一篇小红书爆款文案，文案需要有传播力与吸引力。

## 限制:
- 仅聚焦于小红书爆款文案改写相关任务，拒绝回应与文案改写无关的话题。
- 改写后的文案必须紧密围绕输入文案的核心内容展开，不可偏离主题。
- 输出的文案应符合小红书平台的风格与语言习惯，避免过于生涩难懂或过于正式的表述。
- 需使用工具搜索同类型爆款文案特点及亮点 。 
- 返回的内容请用【标题】【正文】【标签】标识，只要返回这三部分的内容，标签用#分隔。
- 标题小于20个字。
- 正文不能带有markdown格式。
"""
        },
        {"role": "user", "content": f"""
主题：{theme}
"""
        }
    ]

    response = get_standard_response(conversation_history)
    print(response)
    
    # 使用改进的提取方法
    title_content = ""
    text_content = ""
    tags_list = []
    
    # 尝试多种可能的格式提取标题
    title_patterns = [
        r'【标题】\s*(.*?)(?=【正文】)',  # 标准格式
        r'【标题】\s*[：:]\s*(.*?)(?=【正文】)',  # 带冒号的格式
        r'【标题】\s*(.*?)(?=\n【正文】)',  # 换行分隔的格式
        r'标题[：:]\s*(.*?)(?=【正文】|正文[：:])',  # 无括号但有冒号的格式
        r'^(.*?)(?=【正文】|正文[：:])'  # 开头直接是标题内容的格式
    ]
    
    for pattern in title_patterns:
        title_match = re.search(pattern, response, re.S)
        if title_match:
            title_content = title_match.group(1).strip()
            break
    
    # 尝试多种可能的格式提取正文
    text_patterns = [
        r'【正文】\s*(.*?)(?=【标签】)',  # 标准格式
        r'【正文】\s*[：:]\s*(.*?)(?=【标签】)',  # 带冒号的格式
        r'正文[：:]\s*(.*?)(?=【标签】|标签[：:])',  # 无括号但有冒号的格式
    ]
    
    for pattern in text_patterns:
        text_match = re.search(pattern, response, re.S)
        if text_match:
            text_content = text_match.group(1).strip()
            # 处理正文内容最后一行以#开头的情况
            lines = text_content.split('\n')
            # 去除末尾空行
            while lines and lines[-1].strip() == '':
                lines.pop()
            if lines and lines[-1].lstrip().startswith('#'):
                lines = lines[:-1]
            text_content = '\n'.join(lines)
            break
    
    # 如果前面的模式都没匹配到，尝试提取正文作为中间部分
    if not text_content and title_content:
        # 找到标题后的内容直到标签部分
        text_match = re.search(r'【标题】.*?\n(.*?)(?=【标签】|#\w+)', response, re.S)
        if text_match:
            text_content = text_match.group(1).strip()
    
    # 尝试多种可能的格式提取标签
    tags_patterns = [
        r'【标签】\s*(.*)',  # 标准格式
        r'【标签】\s*[：:]\s*(.*)',  # 带冒号的格式
        r'标签[：:]\s*(.*)',  # 无括号但有冒号的格式
        r'((?:#[^\s,，#]+[\s,，]*)+)$'  # 末尾直接是标签列表的格式
    ]
    
    tags_str = ""
    for pattern in tags_patterns:
        tags_match = re.search(pattern, response, re.S)
        if tags_match:
            tags_str = tags_match.group(1).strip()
            break
    
    # 提取标签列表
    if tags_str:
        # 用正则提取所有 #标签
        tags_list = re.findall(r'#([^\s,，#]+)', tags_str)
    
    # 如果没有找到标签但响应中有#开头的词
    if not tags_list:
        tags_list = re.findall(r'#([^\s,，#]+)', response)

    # 对正文进行改写
    print("正在改写正文...")
    text_content = paraphrase_text_content(text_content)
    print("改写完成")
  
    print("正在提取标签...")
    new_tags_list = get_tags_list(text_content)
    print("提取标签完成")
    print("标签：", tags_list)
    tags_list = new_tags_list + tags_list
    tags_list = list(set(tags_list))
    # 随机选前3到10个标签
    tag_count = random.randint(5, 10)
    tags_list = tags_list[:tag_count]
    
    # 返回结果
    return title_content, text_content, tags_list


def test():
    text = """
✨不甘心上专科的宝子们看过来！✨
🎓高考没过本科线，也能读全日制名校本科！不用过多担心，如果你现在了解1+3国际本科还为时不晚，帮你实现弯道超车！
📚马来西亚英迪国际大学1+3国际本科，低分也能上的双一流名校！
🏫1+3模式：西南交通大学希望学院1年+马来西亚英迪国际大学本科3年
🏅完整性留学含金量高
🌟项目优势🌟
1.💸留学费用低，消费水平低，算上国内1年，总预算25w左右就可以读完。
2.📄入学灵活，签证轻松好申请，雅思5.0或同等成绩多种解决方案录取有保障。
3.🎓完整性留学文凭含金量高，师资力量强，QS世界排名位列516，对标深圳大学，华东师范大学。
4.🌍多语言环境，拥有多元化英联邦国家，有助于提高学生的英语水平和沟通能力。
5.👨‍🏫管家式留学，学校提供一站式专业指导，家长完全不用担心孩子在异国他乡的安全问题。
6.🌐国际化视野，让学生们拥有更广阔视野，更利于未来的工作和发展。
7.📚专业选择丰富多样，从商科、计算机、工程，到医学、心理学、教育学，再到大众传媒、艺术设计等，总有一款适合你的兴趣与未来规划！
8.💼学术实力与实践机会并存！英迪国际大学与450+跨国公司携手合作，包括IBM、谷歌、微软等行业巨头。在校期间，你将有机会参与200+世界级雇主项目，为职业生涯奠定坚实基础！
👩‍🎓招收人群：单招落榜、高考落榜的高三孩子，分数在200-400分左右
📚专业设置：计算机、传媒、建筑、人力资源、市场营销、艺术、商业分析、工商管理、金融科技、生物化学等等，专业选择很多
💰学费+生活费：3w左右/学年 (以学校专业区分)4年的费用在25w左右
🎓毕业即可获得全日制本科学士学位证和毕业证
📈可做跳板申请欧美名校 也可回国直接考公、考编，考研
🔥招生火热中，名额有限🔥
#高考失利也能上本科[话题]# #国际本科[话题]# #留学[话题]# #马来西亚留学申请[话题]# #低分上好大学[话题]# #低分高录[话题]# #升学规划[话题]#
    """
    print(get_tags_list(text))


if __name__ == "__main__":
    """
from apps.media_crawler.utils import test_hot_list_imitative_writing
test_hot_list_imitative_writing()
    """
    text = """
✨不甘心上专科的宝子们看过来！✨
🎓高考没过本科线，也能读全日制名校本科！不用过多担心，如果你现在了解1+3国际本科还为时不晚，帮你实现弯道超车！
📚马来西亚英迪国际大学1+3国际本科，低分也能上的双一流名校！
🏫1+3模式：西南交通大学希望学院1年+马来西亚英迪国际大学本科3年
🏅完整性留学含金量高
🌟项目优势🌟
1.💸留学费用低，消费水平低，算上国内1年，总预算25w左右就可以读完。
2.📄入学灵活，签证轻松好申请，雅思5.0或同等成绩多种解决方案录取有保障。
3.🎓完整性留学文凭含金量高，师资力量强，QS世界排名位列516，对标深圳大学，华东师范大学。
4.🌍多语言环境，拥有多元化英联邦国家，有助于提高学生的英语水平和沟通能力。
5.👨‍🏫管家式留学，学校提供一站式专业指导，家长完全不用担心孩子在异国他乡的安全问题。
6.🌐国际化视野，让学生们拥有更广阔视野，更利于未来的工作和发展。
7.📚专业选择丰富多样，从商科、计算机、工程，到医学、心理学、教育学，再到大众传媒、艺术设计等，总有一款适合你的兴趣与未来规划！
8.💼学术实力与实践机会并存！英迪国际大学与450+跨国公司携手合作，包括IBM、谷歌、微软等行业巨头。在校期间，你将有机会参与200+世界级雇主项目，为职业生涯奠定坚实基础！
👩‍🎓招收人群：单招落榜、高考落榜的高三孩子，分数在200-400分左右
📚专业设置：计算机、传媒、建筑、人力资源、市场营销、艺术、商业分析、工商管理、金融科技、生物化学等等，专业选择很多
💰学费+生活费：3w左右/学年 (以学校专业区分)4年的费用在25w左右
🎓毕业即可获得全日制本科学士学位证和毕业证
📈可做跳板申请欧美名校 也可回国直接考公、考编，考研
🔥招生火热中，名额有限🔥
#高考失利也能上本科[话题]# #国际本科[话题]# #留学[话题]# #马来西亚留学申请[话题]# #低分上好大学[话题]# #低分高录[话题]# #升学规划[话题]#
"""
    # print(get_tags_list(text))
    # text = "高考没过本科线，也能读全日制名校本科！不用过多担心，如果你现在了解1+3国际本科还为时不晚，帮你实现弯道超车！"
    # title_content, text_content, tags_list = xhs_imitative_writing_hot_list(text)
    # print(title_content)
    # print(text_content)
    # print(tags_list)
    #
    #
    title = '✨不甘心上专科的宝子们看过来！✨'
    title_content, text_content, tags_list = xhs_imitative_writing(title, text, [])
    print(title_content)
    print(text_content)
    print(tags_list)
